package net.wofly.right.service;

import java.util.List;

import net.wofly.common.persistence.PageWrapper;
import net.wofly.common.util.ReturnBean;
import net.wofly.right.domain.Customer;
import org.springframework.web.multipart.MultipartFile;

public interface ICustomerService {

	Customer findOne(String userID);

	List<Customer> findAll() ;
	
	/**
	 * 根据订单类型 及销售经理ID 获取相应的客户列表
	 * 
	 * orderType = 1 时，即会员订单时 返回所有客户
	 * orderType = 2 时，即团购订单时 返回除流通和酒店以外的客户
	 * orderType = 3 时，即流通订单时 返回流通且是由当前业务经理维护的客户
	 * orderType = 4 时，即酒店订单时 返回酒店且是由当前业务经理维护的客户
	 * orderType = 5 时，即签单订单时 返回签单且是由当前业务经理维护的客户
	 * orderType = 6 时，即宴会订单时 返回除流通和酒店以外的客户
	 * orderType = 7 时，即订货会流通订单时 返回流通且是由当前业务经理维护的客户
	 * orderType = 8 时，即订货会酒店订单时 返回酒店且是由当前业务经理维护的客户
	 * orderType = 9 时，即还货订单时 返回空客户列表，此订单己单独处理
	 * orderType = 10 时，即无款订单时 返回所有客户
	 * 
	 * 
	 * @param orderType
	 * @param salesUserID
	 * @return
	 */
	List<Customer> getCustomerForOrder(String orderType, String salesUserID) ;
	
	ReturnBean<PageWrapper<Customer>> getAllCustomer(String customerName , String linkMan ,String mobile ,String organizationType,Integer pageNum, Integer pageSize) ;

	/**
	 * 删除客户
	 * 
	 * @param customerID
	 * @return
	 */
	ReturnBean<String> delCustomer(String customerID);
	
	/**
	 * 重启客户
	 * 
	 * @param customerID
	 * @return
	 */
	ReturnBean<String> recoverCustomer(String customerID);

	/**
	 * 导入客户列表
	 *
	 * @param file
	 * @param userID
	 * @return
	 */
    ReturnBean<List<String>> importCustomerExcel(MultipartFile file, String userID);
}
